/*
 * @文件描述: 
 * @版本: 
 * @作者: 周晨阳
 * @Date: 2021-08-17 10:01:25
 */
#include "usart.h"
#ifdef WIN_SIM
/*
 * @文件描述:
 * @版本:
 * @作者: 周晨阳
 * @Date: 2021-01-13 21:52:07
 */

#include "usart.h"

int fputc(int ch, FILE *f) {

  // USART_SendData(USART1, (uint8_t)ch);

  // while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
  //   ;

  // return (ch);
}
int fgetc(FILE *f) {

  // while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET)
  //   ;

  // return (int)USART_ReceiveData(USART1);
}
//初始化IO 串口1
// bound:波特率
void uart_init(u32 bound) {
  // GPIO端口设置
  // GPIO_InitTypeDef GPIO_InitStructure;
  // USART_InitTypeDef USART_InitStructure;
  // NVIC_InitTypeDef NVIC_InitStructure;

  // RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);  //使能GPIOA时钟
  // RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //使能USART1时钟

  // //串口1对应引脚复用映射
  // GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1); // GPIOA9复用为USART1
  // GPIO_PinAFConfig(GPIOA, GPIO_PinSource10,
  //                  GPIO_AF_USART1); // GPIOA10复用为USART1

  // // USART1端口配置
  // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10; // GPIOA9与GPIOA10
  // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;            //复用功能
  // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;       //速度50MHz
  // GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;          //推挽复用输出
  // GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;            //上拉
  // GPIO_Init(GPIOA, &GPIO_InitStructure);                  //初始化PA9，PA10

  // // USART1 初始化设置
  // USART_InitStructure.USART_BaudRate = bound; //波特率设置
  // USART_InitStructure.USART_WordLength =
  //     USART_WordLength_8b; //字长为8位数据格式
  // USART_InitStructure.USART_StopBits = USART_StopBits_1; //一个停止位
  // USART_InitStructure.USART_Parity = USART_Parity_No;    //无奇偶校验位
  // USART_InitStructure.USART_HardwareFlowControl =
  //     USART_HardwareFlowControl_None; //无硬件数据流控制
  // USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //收发模式
  // USART_Init(USART1, &USART_InitStructure); //初始化串口1

  // USART_Cmd(USART1, ENABLE); //使能串口1

  // USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //开启相关中断

  printf("USART init done...\n");
}

#endif